package cn.sf.service;

import cn.sf.pojo.Video;
import cn.sf.vo.*;

import java.util.List;


public interface VideoService {
    /**
     * 查询视频表及相应的用户信息
     * @param id    视频ID
     * @return
     */
    public Video queryVideoAndUser(long id);

    /**
     * 根据分类查询相关视频
     * @param classify  视频分类
     * @return
     */
    public List<Video> queryOtherVideoList(long classify);

    /**
     * 点击进入改视频增加一条播放量
     * @param videoId    视频ID
     * @return
     */
    public boolean updVideoPlayNumber(long videoId);

    /**
     * 点击点赞为改视频增加一条点赞量
     * @param videoId
     * @return
     */
    public boolean updVideoLikeNumber(long videoId);

    /**
     * 举报该视频
     * @param videoId   视频ID
     * @return
     */
    public boolean updVideoReport(long videoId);

    /**
     * 查询是否收藏该视频
     * @param userId        用户ID
     * @param videoId       视频ID
     * @return
     */
    public boolean queryIsOrNotCollect(long userId,long videoId);

    /**
     * 当未收藏时点击收藏为该视频增加一条收藏量，并且添加到收藏表中
     * 当收藏时点击收藏则会取消收藏，并减少一条收藏次数
     * @param userId        登录用户ID
     * @param videoId       视频ID
     * @return
     */
    public String VideoCollect(long userId,long videoId) throws Exception;

    public List<VideoVo> get(Integer id);

    List<VideoComment> getAllComment(Integer commentVideoId);

    String getVideoAll(String videoTitle,Integer videoUserId,Integer pageNo);//显示所有稿件信息

    int updateVideo(Video video);//更改视频稿件信息

    int deleteVideo(Integer videoId);//删除视频信息

    List<VideoDate> getVideoDate(Integer userId);

    List<CommentAll> getComment(Integer commentVideoId);//查询所有评论

    int deleteComment(Integer commentId);//删除评论

    //获取用户发布的视频id最大值
    int getVideoIdMAX(long id);

    //添加视频
    int addVideo(Video video);




}
